/**
 * <strong>Title : ConfirmDetailDao.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.pp.dao<br>
 * </strong> <strong>Description : </strong>@类注释说明写在此处@<br>
 * <strong>Create on : 2015年10月9日 下午3:06:00<br>
 * </strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 * <br>
 * <br>
 */
package cn.b.sky.mes.pp.dao;

import java.util.List;

import cn.b.sky.mes.pp.model.ProductionConfirm;
import cn.b.sky.mes.pp.model.ProductionConfirmDetail;
import cn.b.sky.mes.pp.model.condition.ProductionConfirmDetailCondition;
import org.apache.ibatis.annotations.Param;

/**
 * <strong>Title : ConfirmDetailDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.pp.dao<br></strong>
 * <strong>Description : </strong>报工明细持久层<br> 
 * <strong>Create on : 2015年10月9日 下午3:06:00<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface ProductionConfirmDetailDao {

  /**
   * <strong>Title : selectSubmitDetailList<br></strong>
   * <strong>Description : </strong>获得报工明细列表<br> 
   * <strong>Create on : 2015年10月9日 下午3:12:27<br></strong>
   * <p>
   * @param submitDetailCondition
   * @return
   * List<POConfirmDetail>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ProductionConfirmDetail> selectSubmitDetailList(ProductionConfirmDetailCondition submitDetailCondition);


  /**
   * 查询生产工序报工明显
   * @param siteCode
   * @param productionControlNum
   * @param processOperationId
   * @return
   */
  List<ProductionConfirm> selectProductionConfirms(@Param("siteCode") String siteCode,
                                                   @Param("productionControlNum") String productionControlNum,
                                                   @Param("processOperationId") Long processOperationId);
  /**
   * <strong>Title : getSubmitDetailCount<br></strong>
   * <strong>Description : </strong>获得报工明细总数<br> 
   * <strong>Create on : 2015年10月9日 下午3:12:32<br></strong>
   * <p>
   * @param submitDetailCondition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int getSubmitDetailCount(ProductionConfirmDetailCondition submitDetailCondition);

  /**
   * 
   * <strong>Title : selecPOConfirmDetailWorkCenters<br></strong>
   * <strong>Description : </strong>查询生产报工涉及到的工作中心<br> 
   * <strong>Create on : 2016-1-8 下午4:19:07<br></strong>
   * <p>
   * @param condition
   * @return
   * List<POConfirmDetail>
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ProductionConfirmDetail> selecPOConfirmDetailWorkCenters(ProductionConfirmDetailCondition condition);

  /**
   * 
   * <strong>Title : getConfirmDetailsByControlNum<br></strong>
   * <strong>Description : </strong>根据订单管理号查询报工明细记录<br> 
   * <strong>Create on : 2016年5月20日 上午11:15:51<br></strong>
   * <p>
   * @param siteCode
   * @param productionControlNum
   * @return
   * List<ProductionConfirmDetail>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ProductionConfirmDetail> getConfirmDetailsByControlNum(@Param("siteCode") String siteCode, @Param("productionControlNum") String productionControlNum);

}
